package com.jiajia.study.mylist.myqueue;

import com.jiajia.study.mylist.MyLinkedList;

/**
 * 自己实现队列
 * @author : zjj
 * @date : 2021/1/15 15:11
 */
public class MyQueue<E> {


    private MyLinkedList<E> list = new MyLinkedList<E>();

    /**
     * 队列大小
     * @return  队列大小
     */
    public int size() {
        return list.size();
    }

    /**
     * 队列是否为空
     * @return 队列是否为空
     */
    public boolean isEmpty() {
        return list.isEmpty();
    }

    /**
     * 清除队列元素
     */
    public void clear() {
        list.clear();
    }

    /**
     * 入队
     * @param element   元素
     */
    public void enQueue(E element) {
        list.add(0,element);
    }

    /**
     * 出队
     * @return  元素
     */
    public E deQueue() {
        return list.remove(list.size() - 1);
    }

    /**
     * 拿到对头元素
     * @return  元素
     */
    public E front() {
        return list.get(0);
    }

}
